.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved.  The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\"	@(#)rl.4	6.2.1 (2.11BSD) 1995/06/17
.\"
.TH RL 4 "August 20, 1987"
.UC 2
.SH NAME
rl \- RL-11/RL01, RL02 moving-head disk
.SH SYNOPSIS
.ft B
.nf
/sys/conf/SYSTEM:
	NRL	\fIrl_drives\fP	# RL01/02

/etc/dtab:
.ta .5i +\w'#Name 'u +\w'Unit# 'u +\w'177777 'u +\w'Vector 'u +\w'Br 'u +\w'xxxxxxx 'u +\w'xxxxxxx 'u
	#Name	Unit#	Addr	Vector	Br	Handler(s)		# Comments
	rl	?	174400	160	5	rlintr		# rl-01/02
.DT

major device number(s):
	raw: 16
	block: 7
minor device encoding:
	bits 0007 specify partition of RL drive
	bits 0070 specify RL drive
.fi
.ft R
.SH DESCRIPTION
The block files access the disk via the system's normal
buffering mechanism and may be read and written without regard to
physical disk records.  There is also a `raw' interface
which provides for direct transmission between the disk
and the user's read or write buffer.
A single read or write call results in exactly one I/O operation
and therefore raw I/O is considerably more efficient when
many words are transmitted.  The names of the raw files
conventionally begin with an extra `r.'
.PP
In raw I/O the buffer must begin on a word (even) boundary,
and counts should be a multiple of 512 bytes (a disk sector).
Likewise
.I seek
calls should specify a multiple of 512 bytes.
.SH "DISK SUPPORT"
The RL01 drives are each 10240 blocks long
and the RL02 drives are 20480 blocks long.
.PP
On a RL02 there is room for a full sized root ('a') partition and a
reasonable sized swap ('b') partition.  The RL01 can only (realistically)
have a single 5mb partition.
.SH FILES
.ta \w'/dev/MAKEDEV.local  'u
/dev/rl[0-3][a-h]	block files
.br
/dev/rrl[0-3][a-h]	raw files
.br
/dev/MAKEDEV	script to create special files
.br
/dev/MAKEDEV.local	script to localize special files
.DT
.SH "SEE ALSO"
hk(4),
ra(4),
ram(4),
rk(4),
rp(4),
rx(4),
si(4),
xp(4),
dtab(5),
autoconfig(8)
.SH DIAGNOSTICS
\fBrl%d: hard error sn%d cs=%b da=%b\fR.  An unrecoverable
error occurred during transfer of the specified sector of the specified
disk.  The contents of the two error registers are also printed
in octal and symbolically with bits decoded.
The error was either unrecoverable, or a large number of retry attempts
could not recover the error.
.PP
\fBrl%d: hard error sn%d mp=%b da=%b\fR.  An unrecoverable drive
error occured during transfer of the specified sector of the specified
disk.  The contents of the two error registers are also printed
in octal and symbolically with bits decoded.
The error was either unrecoverable, or a large number of retry attempts
could not recover the error.
.PP
\fBrl%d: write locked\fR.  The write protect switch was set on the drive
when a write was attempted.  The write operation is not recoverable.
.PP
\fBrl%d: can't get status\fR.  A ``get status'' command on the specified
drive failed.  The error is unrecoverable.
.SH BUGS
In raw I/O
.I read
and
.IR write (2)
truncate file offsets to 512-byte block boundaries,
and
.I write
scribbles on the tail of incomplete blocks.
Thus,
in programs that are likely to access raw devices,
.I read, write
and
.IR lseek (2)
should always deal in 512-byte multiples.
.PP
DEC-standard error logging should be supported.
.PP
A program to analyze the logged error information (even in its
present reduced form) is needed.
